[INFO] fetching crate reactive-messaging 0.4.1...
[INFO] fixing reactive-messaging-0.4.1 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate reactive-messaging 0.4.1 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate reactive-messaging 0.4.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate reactive-messaging 0.4.1
[INFO] tweaked toml for crates.io crate reactive-messaging 0.4.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate reactive-messaging 0.4.1 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate reactive-messaging 0.4.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8c5bc463d8030b75b52c180d650c9ac9037a9a595a0b175502762055183fe65b
[INFO] running `Command { std: "docker" "start" "8c5bc463d8030b75b52c180d650c9ac9037a9a595a0b175502762055183fe65b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8c5bc463d8030b75b52c180d650c9ac9037a9a595a0b175502762055183fe65b" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8c5bc463d8030b75b52c180d650c9ac9037a9a595a0b175502762055183fe65b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "8c5bc463d8030b75b52c180d650c9ac9037a9a595a0b175502762055183fe65b" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]     Checking cfg-if v1.0.3
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling bytecheck v0.6.12
[INFO] [stderr]     Checking simdutf8 v0.1.5
[INFO] [stderr]    Compiling rend v0.4.2
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking log v0.4.28
[INFO] [stderr]    Compiling rkyv v0.7.45
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]     Checking regex-syntax v0.8.6
[INFO] [stderr]     Checking indexmap v2.11.4
[INFO] [stderr]     Checking half v2.6.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]     Checking owning_ref v0.4.1
[INFO] [stderr]     Checking deranged v0.5.4
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]     Checking clap_builder v4.5.48
[INFO] [stderr]    Compiling dtor-proc-macro v0.0.6
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]     Checking seahash v4.1.0
[INFO] [stderr]     Checking criterion-plot v0.6.0
[INFO] [stderr]    Compiling ctor-proc-macro v0.0.6
[INFO] [stderr]     Checking dtor v0.1.0
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking ctor v0.5.0
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking regex-automata v0.4.11
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking socket2 v0.6.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.6
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking ahash v0.7.8
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking clap v4.5.48
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking regex v1.11.3
[INFO] [stderr]     Checking simple_logger v5.0.0
[INFO] [stderr]    Compiling ptr_meta_derive v0.1.4
[INFO] [stderr]    Compiling bytecheck_derive v0.6.12
[INFO] [stderr]    Compiling ctor v0.1.26
[INFO] [stderr]    Compiling rkyv_derive v0.7.45
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling ctor v0.2.9
[INFO] [stderr]    Compiling atomic_enum v0.3.0
[INFO] [stderr]     Checking ptr_meta v0.1.4
[INFO] [stderr]     Checking tokio v1.47.1
[INFO] [stderr]     Checking minstant v0.1.7
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking bitflags v2.9.4
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking ron v0.11.0
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking keen-retry v0.5.1
[INFO] [stderr]     Checking criterion v0.7.0
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking reactive-mutiny v1.3.1
[INFO] [stderr]     Checking reactive-messaging v0.4.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/socket_connection/peer.rs (3 fixes)
[INFO] [stderr]        Fixed src/socket_services/socket_client/socket_client.rs (35 fixes)
[INFO] [stderr]        Fixed src/socket_services/socket_server/socket_server.rs (34 fixes)
[INFO] [stderr]        Fixed src/socket_connection/connection_provider.rs (1 fix)
[INFO] [stderr]        Fixed src/socket_services/types.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_connection/socket_connection_handler.rs:70:49
[INFO] [stdout]     |
[INFO] [stdout]  70 |               while let Some(socket_connection) = connection_source.recv().await {
[INFO] [stdout]     |                              -----------------    ^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                              |                    |                        |
[INFO] [stdout]     |                              |                    |                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                              |                    |                        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |                    |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              |                    |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                              |                    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |                    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                              |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              `socket_connection` calls a custom destructor
[INFO] [stdout]     |                              `socket_connection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  87 |                   let peer = Arc::new(Peer::new(sender, addr, &socket_connection));//       THIS LINE IS HANGING!!
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `peer` calls a custom destructor
[INFO] [stdout]     |                       `peer` will be dropped later as of Edition 2024
[INFO] [stdout]  88 |                   let peer_ref1 = Arc::clone(&peer);
[INFO] [stdout]     |                       ---------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `peer_ref1` calls a custom destructor
[INFO] [stdout]     |                       `peer_ref1` will be dropped later as of Edition 2024
[INFO] [stdout]  89 |                   let peer_ref2 = Arc::clone(&peer);
[INFO] [stdout]     |                       ---------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `peer_ref2` calls a custom destructor
[INFO] [stdout]     |                       `peer_ref2` will be dropped later as of Edition 2024
[INFO] [stdout]  90 |                   let peer_ref3 = Arc::clone(&peer);
[INFO] [stdout]     |                       ---------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `peer_ref3` calls a custom destructor
[INFO] [stdout]     |                       `peer_ref3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  93 |                   connection_events_callback(ProtocolEvent::PeerArrived {peer: peer.clone()}).await;
[INFO] [stdout]     |                   ---------------------------------------------------------------------------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 117 | /                 tokio::spawn(tokio::task::unconstrained(async move {
[INFO] [stdout] 118 | |                     let socket_connection = match cloned_self.dialog_loop(socket_connection, peer.clone(), processor_sender).await {
[INFO] [stdout] 119 | |                         Ok(socket_connection) => socket_connection,
[INFO] [stdout] 120 | |                         Err(err) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 131 | |                 }));
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |___________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 132 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `socket_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/task/join.rs:351:1
[INFO] [stdout]     |
[INFO] [stdout] 351 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_connection/socket_connection_handler.rs:208:81
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let peer = Arc::new(Peer::new(sender, addr, &socket_connection));
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `peer` calls a custom destructor
[INFO] [stdout]     |             `peer` will be dropped later as of Edition 2024
[INFO] [stdout] 165 |         let peer_ref1 = Arc::clone(&peer);
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `peer_ref1` calls a custom destructor
[INFO] [stdout]     |             `peer_ref1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 208 |         arc_self.dialog_loop(socket_connection, peer.clone(), processor_sender).await
[INFO] [stdout]     |                                                                                 ^^^^^
[INFO] [stdout]     |                                                                                 |
[INFO] [stdout]     |                                                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 209 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/common.rs:44:81
[INFO] [stdout]     |
[INFO] [stdout]  39 |             let Some(termination_is_complete_signaler) = termination_is_complete_signaler.lock().await.take()
[INFO] [stdout]     |                      --------------------------------
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `termination_is_complete_signaler` calls a custom destructor
[INFO] [stdout]     |                      `termination_is_complete_signaler` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  44 |             if let Err(_sent_value) = termination_is_complete_signaler.send(()).await {
[INFO] [stdout]     |                                                                                 ^^^^^
[INFO] [stdout]     |                                                                                 |
[INFO] [stdout]     |                                                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  47 |         };
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `termination_is_complete_signaler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:492:43
[INFO] [stdout]     |
[INFO] [stdout] 470 |                   let (mut socket_connection, sender) = match just_opened_connection.take() {
[INFO] [stdout]     |                                               ------    -     -----------------------------
[INFO] [stdout]     |                                               |         |     |
[INFO] [stdout]     |                                               |         |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |  _____________________________________________|_________|     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                             |
[INFO] [stdout]     | |                                             `sender` calls a custom destructor
[INFO] [stdout]     | |                                             `sender` will be dropped later as of Edition 2024
[INFO] [stdout] 471 | |                     // process the just-opened connection (once)
[INFO] [stdout] 472 | |                     Some(just_opened_connection) => {
[INFO] [stdout] 473 | |                         let just_opened_socket_connection = SocketConnection::new(just_opened_connection, initial_connection_stat...
[INFO] [stdout] 474 | |                         connection_events_callback(ConnectionEvent::Connected(&just_opened_socket_connection)).await;
[INFO] [stdout]     | |                         --------------------------------------------------------------------------------------------
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 480 | |                         let Some(returned_socket_connection) = returned_connection_source.recv().await else { break };
[INFO] [stdout]     | |                                                                ---------------------------------------
[INFO] [stdout]     | |                                                                |                                 |
[INFO] [stdout]     | |                                                                |                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                                                |                                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                                                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                                                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 485 | |                     },
[INFO] [stdout] 486 | |                 };
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 490 |                       Some(sender) => {
[INFO] [stdout]     |                            ------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                            `#6` will be dropped later as of Edition 2024
[INFO] [stdout] 491 |                           trace!("`reactive-messaging::CompositeSocketClient`: ROUTING the connection with the server @ {ip}:{port}...
[INFO] [stdout] 492 |                           if let Err(err) = sender.send(socket_connection).await {
[INFO] [stdout]     |                                      ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                      |      |                              |
[INFO] [stdout]     |                                      |      |                              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                      |      |                              up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      |      |                              this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                      |      |                              `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      |      this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                      |      up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      |      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                      |      `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      `err` calls a custom destructor
[INFO] [stdout]     |                                      `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 496 |                       },
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sender` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_connection/peer.rs:87:19
[INFO] [stdout]     |
[INFO] [stdout]  87 |             match self.state.try_lock() { Ok(mut locked_state) => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^      ----------------
[INFO] [stdout]     |                   |                          |
[INFO] [stdout]     |                   |                          `locked_state` calls a custom destructor
[INFO] [stdout]     |                   |                          `locked_state` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  88 |                 locked_state.replace(state);
[INFO] [stdout]     |                 ---------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  97 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/socket_services/socket_server/socket_server.rs:422:75
[INFO] [stdout]      |
[INFO] [stdout]  421 |             for (i, processor_termination_complete_receiver) in local_termination_receiver.into_iter().enumerate() {
[INFO] [stdout]      |                                                                 --------------------------------------------------
[INFO] [stdout]      |                                                                 |
[INFO] [stdout]      |                                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  422 |                 if let Err(err) = processor_termination_complete_receiver.await {
[INFO] [stdout]      |                                   ----------------------------------------^^^^^
[INFO] [stdout]      |                                   |                                       |
[INFO] [stdout]      |                                   |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   |                                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  425 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/oneshot.rs:1215:1
[INFO] [stdout]      |
[INFO] [stdout] 1215 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/oneshot.rs:1215:1
[INFO] [stdout]      |
[INFO] [stdout] 1215 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:521:65
[INFO] [stdout]     |
[INFO] [stdout] 521 |                         match local_termination_receiver.recv().await {
[INFO] [stdout]     |                               ----------------------------------^^^^^
[INFO] [stdout]     |                               |                                 |
[INFO] [stdout]     |                               |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 525 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/socket_connection/connection_provider.rs:180:55
[INFO] [stdout]     |
[INFO] [stdout] 180 |                    let (connection, client_address) = if let Some(accepted_connection_and_addr) = tokio::select! {
[INFO] [stdout]     |   _______________________________________________________^                                        -
[INFO] [stdout]     |  |________________________________________________________________________________________________|
[INFO] [stdout] 181 | ||                     // incoming connection
[INFO] [stdout] 182 | ||                     acceptance_result = listener.accept() => {
[INFO] [stdout] 183 | ||                         if let Err(err) = acceptance_result {
[INFO] [stdout] ...   ||
[INFO] [stdout] 198 | ||                 } {
[INFO] [stdout]     | ||_________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  |_________________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/socket_connection/connection_provider.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl (Fn(types::ProtocolEvent<CONFIG, LocalMessages, SenderChannel, StateType>) -> Pin<Box<(dyn futures::Future<Output = ()> + std::marker::Send + 'static)>>) + std::marker::Send + Sync + 'static` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/socket_services/socket_client/common.rs:29:47
[INFO] [stdout]    |
[INFO] [stdout] 29 | ... -> impl Fn(ProtocolEvent<CONFIG, LocalMessages, SenderChannel, StateType>) -> BoxFuture<'static, ()> + Send + Sync + 'static {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/socket_services/socket_client/common.rs:25:87
[INFO] [stdout]    |
[INFO] [stdout] 25 | ...                   (connected_state:                          &Arc<AtomicBool>,
[INFO] [stdout]    |                                                                  ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/socket_services/socket_client/common.rs:27:87
[INFO] [stdout]    |
[INFO] [stdout] 27 | ...k: impl Fn(ProtocolEvent<CONFIG, LocalMessages, SenderChannel, StateType>) -> ConnectionEventsCallbackFuture + Send + Sync + 'static)
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 23 ~                                             StateType:                                                                                                    Send + Sync + Clone     + Debug + 'static, T: Fn(ProtocolEvent<CONFIG, LocalMessages, SenderChannel, StateType>) -> ConnectionEventsCallbackFuture + Send + Sync + 'static>
[INFO] [stdout] 24 |
[INFO] [stdout] 25 |                                            (connected_state:                          &Arc<AtomicBool>,
[INFO] [stdout] 26 |                                             termination_is_complete_signaler:         tokio::sync::mpsc::Sender<()>,
[INFO] [stdout] 27 ~                                             user_provided_connection_events_callback: T)
[INFO] [stdout] 28 |
[INFO] [stdout] 29 ~                                            -> impl Fn(ProtocolEvent<CONFIG, LocalMessages, SenderChannel, StateType>) -> BoxFuture<'static, ()> + Send + Sync + 'static + use<CONFIG, LocalMessages, SenderChannel, ConnectionEventsCallbackFuture, StateType, T> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/socket_connection/socket_dialog/mmap_binary_dialog.rs (1 fix)
[INFO] [stderr]    Migrating examples/hello_world.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_connection/socket_connection_handler.rs:70:49
[INFO] [stdout]     |
[INFO] [stdout]  70 |               while let Some(socket_connection) = connection_source.recv().await {
[INFO] [stdout]     |                              -----------------    ^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                              |                    |                        |
[INFO] [stdout]     |                              |                    |                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                              |                    |                        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |                    |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              |                    |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              |                    this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                              |                    up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                              |                    `__awaitee` calls a custom destructor
[INFO] [stdout]     |                              |                    `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                              `socket_connection` calls a custom destructor
[INFO] [stdout]     |                              `socket_connection` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  87 |                   let peer = Arc::new(Peer::new(sender, addr, &socket_connection));//       THIS LINE IS HANGING!!
[INFO] [stdout]     |                       ----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `peer` calls a custom destructor
[INFO] [stdout]     |                       `peer` will be dropped later as of Edition 2024
[INFO] [stdout]  88 |                   let peer_ref1 = Arc::clone(&peer);
[INFO] [stdout]     |                       ---------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `peer_ref1` calls a custom destructor
[INFO] [stdout]     |                       `peer_ref1` will be dropped later as of Edition 2024
[INFO] [stdout]  89 |                   let peer_ref2 = Arc::clone(&peer);
[INFO] [stdout]     |                       ---------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `peer_ref2` calls a custom destructor
[INFO] [stdout]     |                       `peer_ref2` will be dropped later as of Edition 2024
[INFO] [stdout]  90 |                   let peer_ref3 = Arc::clone(&peer);
[INFO] [stdout]     |                       ---------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `peer_ref3` calls a custom destructor
[INFO] [stdout]     |                       `peer_ref3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  93 |                   connection_events_callback(ProtocolEvent::PeerArrived {peer: peer.clone()}).await;
[INFO] [stdout]     |                   ---------------------------------------------------------------------------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 117 | /                 tokio::spawn(tokio::task::unconstrained(async move {
[INFO] [stdout] 118 | |                     let socket_connection = match cloned_self.dialog_loop(socket_connection, peer.clone(), processor_sender).await {
[INFO] [stdout] 119 | |                         Ok(socket_connection) => socket_connection,
[INFO] [stdout] 120 | |                         Err(err) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 131 | |                 }));
[INFO] [stdout]     | |                   -
[INFO] [stdout]     | |                   |
[INFO] [stdout]     | |___________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 132 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `socket_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/task/join.rs:351:1
[INFO] [stdout]     |
[INFO] [stdout] 351 | impl<T> Drop for JoinHandle<T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_connection/socket_connection_handler.rs:208:81
[INFO] [stdout]     |
[INFO] [stdout] 164 |         let peer = Arc::new(Peer::new(sender, addr, &socket_connection));
[INFO] [stdout]     |             ----
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `peer` calls a custom destructor
[INFO] [stdout]     |             `peer` will be dropped later as of Edition 2024
[INFO] [stdout] 165 |         let peer_ref1 = Arc::clone(&peer);
[INFO] [stdout]     |             ---------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `peer_ref1` calls a custom destructor
[INFO] [stdout]     |             `peer_ref1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 208 |         arc_self.dialog_loop(socket_connection, peer.clone(), processor_sender).await
[INFO] [stdout]     |                                                                                 ^^^^^
[INFO] [stdout]     |                                                                                 |
[INFO] [stdout]     |                                                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 209 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/common.rs:44:81
[INFO] [stdout]     |
[INFO] [stdout]  39 |             let Some(termination_is_complete_signaler) = termination_is_complete_signaler.lock().await.take()
[INFO] [stdout]     |                      --------------------------------
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      `termination_is_complete_signaler` calls a custom destructor
[INFO] [stdout]     |                      `termination_is_complete_signaler` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  44 |             if let Err(_sent_value) = termination_is_complete_signaler.send(()).await {
[INFO] [stdout]     |                                                                                 ^^^^^
[INFO] [stdout]     |                                                                                 |
[INFO] [stdout]     |                                                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  47 |         };
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `termination_is_complete_signaler` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:492:43
[INFO] [stdout]     |
[INFO] [stdout] 470 |                   let (mut socket_connection, sender) = match just_opened_connection.take() {
[INFO] [stdout]     |                                               ------    -     -----------------------------
[INFO] [stdout]     |                                               |         |     |
[INFO] [stdout]     |                                               |         |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |  _____________________________________________|_________|     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                             |
[INFO] [stdout]     | |                                             `sender` calls a custom destructor
[INFO] [stdout]     | |                                             `sender` will be dropped later as of Edition 2024
[INFO] [stdout] 471 | |                     // process the just-opened connection (once)
[INFO] [stdout] 472 | |                     Some(just_opened_connection) => {
[INFO] [stdout] 473 | |                         let just_opened_socket_connection = SocketConnection::new(just_opened_connection, initial_connection_stat...
[INFO] [stdout] 474 | |                         connection_events_callback(ConnectionEvent::Connected(&just_opened_socket_connection)).await;
[INFO] [stdout]     | |                         --------------------------------------------------------------------------------------------
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 480 | |                         let Some(returned_socket_connection) = returned_connection_source.recv().await else { break };
[INFO] [stdout]     | |                                                                ---------------------------------------
[INFO] [stdout]     | |                                                                |                                 |
[INFO] [stdout]     | |                                                                |                                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |                                                                |                                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                                                this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |                                                                `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                                                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |                                                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 485 | |                     },
[INFO] [stdout] 486 | |                 };
[INFO] [stdout]     | |                 -
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 490 |                       Some(sender) => {
[INFO] [stdout]     |                            ------
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                            `#6` will be dropped later as of Edition 2024
[INFO] [stdout] 491 |                           trace!("`reactive-messaging::CompositeSocketClient`: ROUTING the connection with the server @ {ip}:{port}...
[INFO] [stdout] 492 |                           if let Err(err) = sender.send(socket_connection).await {
[INFO] [stdout]     |                                      ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                                      |      |                              |
[INFO] [stdout]     |                                      |      |                              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                                      |      |                              up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      |      |                              this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                      |      |                              `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      |      this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                      |      up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                      |      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                                      |      `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                      `err` calls a custom destructor
[INFO] [stdout]     |                                      `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 496 |                       },
[INFO] [stdout]     |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `sender` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_connection/peer.rs:87:19
[INFO] [stdout]     |
[INFO] [stdout]  87 |             match self.state.try_lock() { Ok(mut locked_state) => {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^      ----------------
[INFO] [stdout]     |                   |                          |
[INFO] [stdout]     |                   |                          `locked_state` calls a custom destructor
[INFO] [stdout]     |                   |                          `locked_state` will be dropped later as of Edition 2024
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  88 |                 locked_state.replace(state);
[INFO] [stdout]     |                 ---------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  97 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `locked_state` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mutex.rs:963:1
[INFO] [stdout]     |
[INFO] [stdout] 963 | impl<T: ?Sized> Drop for MutexGuard<'_, T> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_connection/connection_provider.rs:335:43
[INFO] [stdout]     |
[INFO] [stdout] 335 |             while let Some(_connection) = receiver.recv().await {
[INFO] [stdout]     |                            -----------    ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |              |               |
[INFO] [stdout]     |                            |              |               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |              |               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |              |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |              |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                            |              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `_connection` calls a custom destructor
[INFO] [stdout]     |                            `_connection` will be dropped later as of Edition 2024
[INFO] [stdout] 336 |                 received_count_ref.fetch_add(1, Relaxed);
[INFO] [stdout] 337 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_connection/connection_provider.rs:365:43
[INFO] [stdout]     |
[INFO] [stdout] 365 |             while let Some(_connection) = connection_receiver.recv().await {
[INFO] [stdout]     |                            -----------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |              |                          |
[INFO] [stdout]     |                            |              |                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |              |                          up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |              |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |              |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                            |              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `_connection` calls a custom destructor
[INFO] [stdout]     |                            `_connection` will be dropped later as of Edition 2024
[INFO] [stdout] 366 |                 received_count_ref.fetch_add(1, Relaxed);
[INFO] [stdout] 367 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_connection/connection_provider.rs:425:43
[INFO] [stdout]     |
[INFO] [stdout] 425 |             while let Some(_connection) = connection_receiver.recv().await {
[INFO] [stdout]     |                            -----------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                            |              |                          |
[INFO] [stdout]     |                            |              |                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                            |              |                          up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |              |                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                            |              |                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            |              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                            |              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                            |              `__awaitee` calls a custom destructor
[INFO] [stdout]     |                            |              `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                            `_connection` calls a custom destructor
[INFO] [stdout]     |                            `_connection` will be dropped later as of Edition 2024
[INFO] [stdout] 426 |                 received_count_ref.fetch_add(1, Relaxed);
[INFO] [stdout] 427 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_connection` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/socket_services/socket_server/socket_server.rs:422:75
[INFO] [stdout]      |
[INFO] [stdout]  421 |             for (i, processor_termination_complete_receiver) in local_termination_receiver.into_iter().enumerate() {
[INFO] [stdout]      |                                                                 --------------------------------------------------
[INFO] [stdout]      |                                                                 |
[INFO] [stdout]      |                                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  422 |                 if let Err(err) = processor_termination_complete_receiver.await {
[INFO] [stdout]      |                                   ----------------------------------------^^^^^
[INFO] [stdout]      |                                   |                                       |
[INFO] [stdout]      |                                   |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                   |                                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                   `__awaitee` calls a custom destructor
[INFO] [stdout]      |                                   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  425 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/oneshot.rs:1215:1
[INFO] [stdout]      |
[INFO] [stdout] 1215 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `__awaitee` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/oneshot.rs:1215:1
[INFO] [stdout]      |
[INFO] [stdout] 1215 | impl<T> Drop for Receiver<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_server/socket_server.rs:120:204
[INFO] [stdout]     |
[INFO] [stdout] 120 |            $socket_server.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $connection_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                               ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                               |
[INFO] [stdout]     |                                                                                                                                                                                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                                                                                                                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 210 |                Ok(connection_channel) => $socket_server.start_single_protocol(connection_channel).await,
[INFO] [stdout]     |                                          --------------------------------------------------------------
[INFO] [stdout]     |                                          |                                                        |
[INFO] [stdout]     |                                          |                                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                          |                                                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                          `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 528 | //         start_server_processor!(TEST_CONFIG, Textual, Atomic, server,
[INFO] [stdout] 529 | ||             DummyClientAndServerMessages,
[INFO] [stdout] 530 | ||             DummyClientAndServerMessages,
[INFO] [stdout] 531 | ||             connection_events_handler,
[INFO] [stdout] 532 | ||             unresponsive_processor
[INFO] [stdout] 533 | ||         )?;
[INFO] [stdout]     | ||         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |            in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_server_processor` which comes from the expansion of the macro `start_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_server/socket_server.rs:116:52
[INFO] [stdout]     |
[INFO] [stdout] 116 |        $dialog_processor_builder_fn:  expr_2021) => {{
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 117 | |         $crate::_define_processor_uni_and_sender_channel_types!($const_config, $channel_type, $remote_messages, $local_messages);
[INFO] [stdout] 118 | |         let socket_dialog = $crate::socket_connection::socket_dialog::textual_dialog::TextualDialog::<_CONFIG, $remote_messages, ...
[INFO] [stdout] 119 | |         use $crate::prelude::MessagingService;
[INFO] [stdout] 120 | |         $socket_server.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(so...
[INFO] [stdout] 121 | |     }};
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 528 | /         start_server_processor!(TEST_CONFIG, Textual, Atomic, server,
[INFO] [stdout] 529 | |             DummyClientAndServerMessages,
[INFO] [stdout] 530 | |             DummyClientAndServerMessages,
[INFO] [stdout] 531 | |             connection_events_handler,
[INFO] [stdout] 532 | |             unresponsive_processor
[INFO] [stdout] 533 | |         )?;
[INFO] [stdout]     | |         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |_________||
[INFO] [stdout]     | |_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_server_processor` which comes from the expansion of the macro `start_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_server/socket_server.rs:120:204
[INFO] [stdout]     |
[INFO] [stdout] 120 |            $socket_server.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $connection_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                               ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                               |
[INFO] [stdout]     |                                                                                                                                                                                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                                                                                                                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 210 |                Ok(connection_channel) => $socket_server.start_single_protocol(connection_channel).await,
[INFO] [stdout]     |                                          --------------------------------------------------------------
[INFO] [stdout]     |                                          |                                                        |
[INFO] [stdout]     |                                          |                                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                          |                                                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                          `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 561 | //         start_server_processor!(TEST_CONFIG, Textual, Atomic, server,
[INFO] [stdout] 562 | ||             DummyClientAndServerMessages,
[INFO] [stdout] 563 | ||             DummyClientAndServerMessages,
[INFO] [stdout] 564 | ||             connection_events_handler,
[INFO] [stdout] 565 | ||             responsive_processor
[INFO] [stdout] 566 | ||         )?;
[INFO] [stdout]     | ||         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |            in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_server_processor` which comes from the expansion of the macro `start_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_server/socket_server.rs:116:52
[INFO] [stdout]     |
[INFO] [stdout] 116 |        $dialog_processor_builder_fn:  expr_2021) => {{
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 117 | |         $crate::_define_processor_uni_and_sender_channel_types!($const_config, $channel_type, $remote_messages, $local_messages);
[INFO] [stdout] 118 | |         let socket_dialog = $crate::socket_connection::socket_dialog::textual_dialog::TextualDialog::<_CONFIG, $remote_messages, ...
[INFO] [stdout] 119 | |         use $crate::prelude::MessagingService;
[INFO] [stdout] 120 | |         $socket_server.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(so...
[INFO] [stdout] 121 | |     }};
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 561 | /         start_server_processor!(TEST_CONFIG, Textual, Atomic, server,
[INFO] [stdout] 562 | |             DummyClientAndServerMessages,
[INFO] [stdout] 563 | |             DummyClientAndServerMessages,
[INFO] [stdout] 564 | |             connection_events_handler,
[INFO] [stdout] 565 | |             responsive_processor
[INFO] [stdout] 566 | |         )?;
[INFO] [stdout]     | |         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |_________||
[INFO] [stdout]     | |_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_server_processor` which comes from the expansion of the macro `start_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_server/socket_server.rs:120:204
[INFO] [stdout]     |
[INFO] [stdout] 120 |            $socket_server.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $connection_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                               ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                               |
[INFO] [stdout]     |                                                                                                                                                                                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                                                                                                                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 210 |                Ok(connection_channel) => $socket_server.start_single_protocol(connection_channel).await,
[INFO] [stdout]     |                                          --------------------------------------------------------------
[INFO] [stdout]     |                                          |                                                        |
[INFO] [stdout]     |                                          |                                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                          |                                                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                          `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 590 | //         start_server_processor!(TEST_CONFIG, Textual, Atomic, server,
[INFO] [stdout] 591 | ||             DummyClientAndServerMessages,
[INFO] [stdout] 592 | ||             DummyClientAndServerMessages,
[INFO] [stdout] 593 | ||             |_| future::ready(()),
[INFO] [stdout] 594 | ||             |_, _, _, client_messages_stream| client_messages_stream.map(|_payload| DummyClientAndServerMessages::FloodPing)
[INFO] [stdout] 595 | ||         )?;
[INFO] [stdout]     | ||         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |            in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_server_processor` which comes from the expansion of the macro `start_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_server/socket_server.rs:116:52
[INFO] [stdout]     |
[INFO] [stdout] 116 |        $dialog_processor_builder_fn:  expr_2021) => {{
[INFO] [stdout]     |  ____________________________________________________^
[INFO] [stdout] 117 | |         $crate::_define_processor_uni_and_sender_channel_types!($const_config, $channel_type, $remote_messages, $local_messages);
[INFO] [stdout] 118 | |         let socket_dialog = $crate::socket_connection::socket_dialog::textual_dialog::TextualDialog::<_CONFIG, $remote_messages, ...
[INFO] [stdout] 119 | |         use $crate::prelude::MessagingService;
[INFO] [stdout] 120 | |         $socket_server.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(so...
[INFO] [stdout] 121 | |     }};
[INFO] [stdout]     | |     ^
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |_____this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 590 | /         start_server_processor!(TEST_CONFIG, Textual, Atomic, server,
[INFO] [stdout] 591 | |             DummyClientAndServerMessages,
[INFO] [stdout] 592 | |             DummyClientAndServerMessages,
[INFO] [stdout] 593 | |             |_| future::ready(()),
[INFO] [stdout] 594 | |             |_, _, _, client_messages_stream| client_messages_stream.map(|_payload| DummyClientAndServerMessages::FloodPing)
[INFO] [stdout] 595 | |         )?;
[INFO] [stdout]     | |         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |_________||
[INFO] [stdout]     | |_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_server_processor` which comes from the expansion of the macro `start_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:157:202
[INFO] [stdout]     |
[INFO] [stdout] 157 |   ...sor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $protocol_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                            ^^^^^
[INFO] [stdout]     |                                                                                                                                                                            |
[INFO] [stdout]     |                                                                                                                                                                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 281 |   ...=> $socket_client.start_single_protocol(connection_channel).await,
[INFO] [stdout]     |         --------------------------------------------------------------
[INFO] [stdout]     |         |                                                        |
[INFO] [stdout]     |         |                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `__awaitee` calls a custom destructor
[INFO] [stdout]     |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/socket_services/socket_server/socket_server.rs:706:9
[INFO] [stdout]     |
[INFO] [stdout] 706 | /         start_client_processor!(TEST_CONFIG, Textual, FullSync, client,
[INFO] [stdout] 707 | |             DummyClientAndServerMessages,
[INFO] [stdout] 708 | |             DummyClientAndServerMessages,
[INFO] [stdout] 709 | |             |_| async {},
[INFO] [stdout] ...   |
[INFO] [stdout] 717 | |         ).expect("Starting the client");
[INFO] [stdout]     | |         -                              - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |_________|
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_client_processor` which comes from the expansion of the macro `start_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_server/socket_server.rs:120:204
[INFO] [stdout]     |
[INFO] [stdout] 120 |            $socket_server.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $connection_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                               ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                               |
[INFO] [stdout]     |                                                                                                                                                                                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 768 |            let incoming_client_processor = spawn_server_processor!(TEST_CONFIG, Textual, Atomic, server, TestString, TestString,
[INFO] [stdout]     |   _________________________________________-
[INFO] [stdout]     |  |_________________________________________|
[INFO] [stdout] 769 | ||             |_| future::ready(()),
[INFO] [stdout] 770 | ||             move |_, _, peer, client_messages_stream| {
[INFO] [stdout] 771 | ||                 assert_eq!(peer.try_take_state(), Some(Some(Protocols::IncomingClient)), "Connection is in a wrong state");
[INFO] [stdout] ...   ||
[INFO] [stdout] 784 | ||         )?;
[INFO] [stdout]     | ||         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |            in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `spawn_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_server/socket_server.rs:120:204
[INFO] [stdout]     |
[INFO] [stdout] 120 |            $socket_server.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $connection_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                               ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                               |
[INFO] [stdout]     |                                                                                                                                                                                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 789 |            let welcome_authenticated_friend_processor = spawn_server_processor!(TEST_CONFIG, Textual, Atomic, server, TestString, TestString,
[INFO] [stdout]     |   ______________________________________________________-
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 790 | ||             |connection_event| async {
[INFO] [stdout] 791 | ||                 if let ProtocolEvent::PeerArrived { peer } = connection_event {
[INFO] [stdout] 792 | ||                     peer.send_async(TestString::from(format!("`WelcomeAuthenticatedFriend`: Now dealing with client {peer:?}. SAY SOMETHING and you will be routed to 'AccountSettings'"))).await
[INFO] [stdout] ...   ||
[INFO] [stdout] 808 | ||         )?;
[INFO] [stdout]     | ||         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |            in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `spawn_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_server/socket_server.rs:120:204
[INFO] [stdout]     |
[INFO] [stdout] 120 |            $socket_server.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $connection_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                               ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                               |
[INFO] [stdout]     |                                                                                                                                                                                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 812 |            let account_settings_processor = spawn_server_processor!(TEST_CONFIG, Textual, Atomic, server, TestString, TestString,
[INFO] [stdout]     |   __________________________________________-
[INFO] [stdout]     |  |__________________________________________|
[INFO] [stdout] 813 | ||             |connection_event| async {
[INFO] [stdout] 814 | ||                 if let ProtocolEvent::PeerArrived { peer } = connection_event {
[INFO] [stdout] 815 | ||                     peer.send_async(TestString::from(format!("`AccountSettings`: Now dealing with client {peer:?}. SAY SOMETHING and you will be routed to 'GoodbyeOptions'"))).await
[INFO] [stdout] ...   ||
[INFO] [stdout] 831 | ||         )?;
[INFO] [stdout]     | ||         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |            in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `spawn_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_server/socket_server.rs:120:204
[INFO] [stdout]     |
[INFO] [stdout] 120 |            $socket_server.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $connection_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                               ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                               |
[INFO] [stdout]     |                                                                                                                                                                                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 835 |            let goodbye_options_processor = spawn_server_processor!(TEST_CONFIG, Textual, Atomic, server, TestString, TestString,
[INFO] [stdout]     |   _________________________________________-
[INFO] [stdout]     |  |_________________________________________|
[INFO] [stdout] 836 | ||             |connection_event| async {
[INFO] [stdout] 837 | ||                 if let ProtocolEvent::PeerArrived { peer } = connection_event {
[INFO] [stdout] 838 | ||                     peer.send_async(TestString::from(format!("`GoodbyeOptions`: Now dealing with client {peer:?}. SAY SOMETHING and you will be DISCONNECTED, as our talking is over. Thank you."))).await
[INFO] [stdout] ...   ||
[INFO] [stdout] 854 | ||         )?;
[INFO] [stdout]     | ||         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |            in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `spawn_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:157:202
[INFO] [stdout]     |
[INFO] [stdout] 157 |    ...sor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $protocol_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                             ^^^^^
[INFO] [stdout]     |                                                                                                                                                                             |
[INFO] [stdout]     |                                                                                                                                                                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                                                                                             up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 281 |    ...=> $socket_client.start_single_protocol(connection_channel).await,
[INFO] [stdout]     |          --------------------------------------------------------------
[INFO] [stdout]     |          |                                                        |
[INFO] [stdout]     |          |                                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |          |                                                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |          `__awaitee` calls a custom destructor
[INFO] [stdout]     |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/socket_services/socket_server/socket_server.rs:874:9
[INFO] [stdout]     |
[INFO] [stdout] 874 | // ...   start_client_processor!(TEST_CONFIG, Textual, Atomic, client, TestString, TestString,
[INFO] [stdout] 875 | || ...       |connection_event| async {
[INFO] [stdout] 876 | || ...           match connection_event {
[INFO] [stdout] 877 | || ...               ProtocolEvent::PeerArrived { peer }           => peer.send_async(TestString::from("Hello! Am I in?")).await.ex...
[INFO] [stdout] ...   ||
[INFO] [stdout] 887 | || ...           .to_responsive_stream(peer, |_, _| ())
[INFO] [stdout] 888 | || ...   )?;
[INFO] [stdout]     | ||       --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||       ||
[INFO] [stdout]     | ||_______|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_______|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |          in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_client_processor` which comes from the expansion of the macro `start_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:153:52
[INFO] [stdout]     |
[INFO] [stdout] 153 |         $dialog_processor_builder_fn:  expr_2021) => {{
[INFO] [stdout]     |  _____________________________________________________^
[INFO] [stdout] 154 | |          $crate::_define_processor_uni_and_sender_channel_types!($const_config, $channel_type, $remote_messages, $local_messages);
[INFO] [stdout] 155 | |          let socket_dialog = $crate::socket_connection::socket_dialog::textual_dialog::TextualDialog::<_CONFIG, $remote_messages,...
[INFO] [stdout] 156 | |          use $crate::prelude::MessagingService;
[INFO] [stdout] 157 | |          $socket_client.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(s...
[INFO] [stdout] 158 | |      }};
[INFO] [stdout]     | |      ^
[INFO] [stdout]     | |      |
[INFO] [stdout]     | |______this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/socket_services/socket_server/socket_server.rs:874:9
[INFO] [stdout]     |
[INFO] [stdout] 874 | // ...   start_client_processor!(TEST_CONFIG, Textual, Atomic, client, TestString, TestString,
[INFO] [stdout] 875 | || ...       |connection_event| async {
[INFO] [stdout] 876 | || ...           match connection_event {
[INFO] [stdout] 877 | || ...               ProtocolEvent::PeerArrived { peer }           => peer.send_async(TestString::from("Hello! Am I in?")).await.ex...
[INFO] [stdout] ...   ||
[INFO] [stdout] 887 | || ...           .to_responsive_stream(peer, |_, _| ())
[INFO] [stdout] 888 | || ...   )?;
[INFO] [stdout]     | ||       --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||       ||
[INFO] [stdout]     | ||_______|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_______|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |          in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_client_processor` which comes from the expansion of the macro `start_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:521:65
[INFO] [stdout]     |
[INFO] [stdout] 521 |                         match local_termination_receiver.recv().await {
[INFO] [stdout]     |                               ----------------------------------^^^^^
[INFO] [stdout]     |                               |                                 |
[INFO] [stdout]     |                               |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                               |                                 up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                               `__awaitee` calls a custom destructor
[INFO] [stdout]     |                               `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 525 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:157:202
[INFO] [stdout]     |
[INFO] [stdout] 157 |           $socket_client.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $protocol_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                            ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                            |
[INFO] [stdout]     |                                                                                                                                                                                                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                                                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 281 |               Ok(connection_channel) => $socket_client.start_single_protocol(connection_channel).await,
[INFO] [stdout]     |                                         --------------------------------------------------------------
[INFO] [stdout]     |                                         |                                                        |
[INFO] [stdout]     |                                         |                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 624 | /         start_client_processor!(TEST_CONFIG, Textual, Atomic, client,
[INFO] [stdout] 625 | |             DummyClientAndServerMessages,
[INFO] [stdout] 626 | |             DummyClientAndServerMessages,
[INFO] [stdout] 627 | |             connection_events_handler,
[INFO] [stdout] 628 | |             unresponsive_processor
[INFO] [stdout] 629 | |         ).expect("Error starting a single protocol client");
[INFO] [stdout]     | |         -                                                  - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |_________|
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_client_processor` which comes from the expansion of the macro `start_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:157:202
[INFO] [stdout]     |
[INFO] [stdout] 157 |           $socket_client.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $protocol_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                            ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                            |
[INFO] [stdout]     |                                                                                                                                                                                                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                                                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 281 |               Ok(connection_channel) => $socket_client.start_single_protocol(connection_channel).await,
[INFO] [stdout]     |                                         --------------------------------------------------------------
[INFO] [stdout]     |                                         |                                                        |
[INFO] [stdout]     |                                         |                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 658 | /         start_client_processor!(TEST_CONFIG, Textual, Atomic, client,
[INFO] [stdout] 659 | |             DummyClientAndServerMessages,
[INFO] [stdout] 660 | |             DummyClientAndServerMessages,
[INFO] [stdout] 661 | |             connection_events_handler,
[INFO] [stdout] 662 | |             responsive_processor
[INFO] [stdout] 663 | |         ).expect("Error starting a single protocol client");
[INFO] [stdout]     | |         -                                                  - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |_________|
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_client_processor` which comes from the expansion of the macro `start_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:157:202
[INFO] [stdout]     |
[INFO] [stdout] 157 |           $socket_client.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $protocol_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                            ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                            |
[INFO] [stdout]     |                                                                                                                                                                                                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                                                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 281 |               Ok(connection_channel) => $socket_client.start_single_protocol(connection_channel).await,
[INFO] [stdout]     |                                         --------------------------------------------------------------
[INFO] [stdout]     |                                         |                                                        |
[INFO] [stdout]     |                                         |                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 687 | /         start_client_processor!(TEST_CONFIG, Textual, Atomic, client,
[INFO] [stdout] 688 | |             DummyClientAndServerMessages,
[INFO] [stdout] 689 | |             DummyClientAndServerMessages,
[INFO] [stdout] 690 | |             |_| future::ready(()),
[INFO] [stdout] 691 | |             |_, _, _, client_messages_stream| client_messages_stream.map(|_payload| DummyClientAndServerMessages::FloodPing)
[INFO] [stdout] 692 | |         ).expect("Error starting a single protocol client");
[INFO] [stdout]     | |         -                                                  - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |_________|
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_client_processor` which comes from the expansion of the macro `start_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_server/socket_server.rs:120:204
[INFO] [stdout]     |
[INFO] [stdout] 120 |   ...sor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $connection_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                              ^^^^^
[INFO] [stdout]     |                                                                                                                                                                              |
[INFO] [stdout]     |                                                                                                                                                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 210 |   ...=> $socket_server.start_single_protocol(connection_channel).await,
[INFO] [stdout]     |         --------------------------------------------------------------
[INFO] [stdout]     |         |                                                        |
[INFO] [stdout]     |         |                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `__awaitee` calls a custom destructor
[INFO] [stdout]     |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/socket_services/socket_client/socket_client.rs:744:9
[INFO] [stdout]     |
[INFO] [stdout] 744 | /         start_server_processor!(TEST_CONFIG, Textual, Atomic, server, TestString, TestString,
[INFO] [stdout] 745 | |             move |event| {
[INFO] [stdout] 746 | |                 let connected_to_client_ref = Arc::clone(&connected_to_client_ref);
[INFO] [stdout] 747 | |                 async move {
[INFO] [stdout] ...   |
[INFO] [stdout] 757 | |             |_, _, _, stream| stream
[INFO] [stdout] 758 | |         ).expect("Error starting the server");
[INFO] [stdout]     | |         -                                    - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |_________|
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_server_processor` which comes from the expansion of the macro `start_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:157:202
[INFO] [stdout]     |
[INFO] [stdout] 157 |           $socket_client.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $protocol_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                            ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                            |
[INFO] [stdout]     |                                                                                                                                                                                                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                                                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 281 |               Ok(connection_channel) => $socket_client.start_single_protocol(connection_channel).await,
[INFO] [stdout]     |                                         --------------------------------------------------------------
[INFO] [stdout]     |                                         |                                                        |
[INFO] [stdout]     |                                         |                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 760 | /         start_client_processor!(TEST_CONFIG, Textual, Atomic, client, TestString, TestString,
[INFO] [stdout] 761 | |             |_| future::ready(()),
[INFO] [stdout] 762 | |             |_, _, _, stream| stream
[INFO] [stdout] 763 | |         ).expect("Error starting the client");
[INFO] [stdout]     | |         -                                    - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |_________|
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_client_processor` which comes from the expansion of the macro `start_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_server/socket_server.rs:120:204
[INFO] [stdout]     |
[INFO] [stdout] 120 |   ...sor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $connection_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                              ^^^^^
[INFO] [stdout]     |                                                                                                                                                                              |
[INFO] [stdout]     |                                                                                                                                                                              this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                              up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 210 |   ...=> $socket_server.start_single_protocol(connection_channel).await,
[INFO] [stdout]     |         --------------------------------------------------------------
[INFO] [stdout]     |         |                                                        |
[INFO] [stdout]     |         |                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |         |                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |         `__awaitee` calls a custom destructor
[INFO] [stdout]     |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/socket_services/socket_client/socket_client.rs:778:9
[INFO] [stdout]     |
[INFO] [stdout] 778 | /         start_server_processor!(TEST_CONFIG, Textual, Atomic, server, TestString, TestString,
[INFO] [stdout] 779 | |             move |event| {
[INFO] [stdout] 780 | |                 let connected_to_client_ref = Arc::clone(&connected_to_client_ref);
[INFO] [stdout] 781 | |                 async move {
[INFO] [stdout] ...   |
[INFO] [stdout] 792 | |             |_, _, _, stream| stream
[INFO] [stdout] 793 | |         ).expect("Error starting the server");
[INFO] [stdout]     | |         -                                    - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |_________|
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_server_processor` which comes from the expansion of the macro `start_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:157:202
[INFO] [stdout]     |
[INFO] [stdout] 157 |           $socket_client.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $protocol_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                            ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                            |
[INFO] [stdout]     |                                                                                                                                                                                                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                                                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 281 |               Ok(connection_channel) => $socket_client.start_single_protocol(connection_channel).await,
[INFO] [stdout]     |                                         --------------------------------------------------------------
[INFO] [stdout]     |                                         |                                                        |
[INFO] [stdout]     |                                         |                                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                         |                                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                         `__awaitee` calls a custom destructor
[INFO] [stdout]     |                                         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 795 | /         start_client_processor!(TEST_CONFIG, Textual, Atomic, client, TestString, TestString,
[INFO] [stdout] 796 | |             |_| future::ready(()),
[INFO] [stdout] 797 | |             |_, _, peer, stream| stream.map(move |_msg| peer.cancel_and_close())     // close the connection when any message arrives
[INFO] [stdout] 798 | |         ).expect("Error starting the client");
[INFO] [stdout]     | |         -                                    - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |_________|
[INFO] [stdout]     |           in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_client_processor` which comes from the expansion of the macro `start_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_server/socket_server.rs:120:204
[INFO] [stdout]     |
[INFO] [stdout] 120 |    ...sor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $connection_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                               ^^^^^
[INFO] [stdout]     |                                                                                                                                                                               |
[INFO] [stdout]     |                                                                                                                                                                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                                                                                                                                                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 210 |    ...=> $socket_server.start_single_protocol(connection_channel).await,
[INFO] [stdout]     |          --------------------------------------------------------------
[INFO] [stdout]     |          |                                                        |
[INFO] [stdout]     |          |                                                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |          |                                                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |          `__awaitee` calls a custom destructor
[INFO] [stdout]     |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/socket_services/socket_client/socket_client.rs:831:9
[INFO] [stdout]     |
[INFO] [stdout] 831 | //         start_server_processor!(TEST_CONFIG, Textual, Atomic, server, TestString, TestString,
[INFO] [stdout] 832 | ||             |_| future::ready(()),
[INFO] [stdout] 833 | ||             move |_, _, peer, client_messages| client_messages
[INFO] [stdout] 834 | ||                 .map(|msg| {
[INFO] [stdout] ...   ||
[INFO] [stdout] 840 | ||         )?;
[INFO] [stdout]     | ||         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |            in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_server_processor` which comes from the expansion of the macro `start_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_server/socket_server.rs:116:52
[INFO] [stdout]     |
[INFO] [stdout] 116 |         $dialog_processor_builder_fn:  expr_2021) => {{
[INFO] [stdout]     |  _____________________________________________________^
[INFO] [stdout] 117 | |          $crate::_define_processor_uni_and_sender_channel_types!($const_config, $channel_type, $remote_messages, $local_messages);
[INFO] [stdout] 118 | |          let socket_dialog = $crate::socket_connection::socket_dialog::textual_dialog::TextualDialog::<_CONFIG, $remote_messages,...
[INFO] [stdout] 119 | |          use $crate::prelude::MessagingService;
[INFO] [stdout] 120 | |          $socket_server.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(s...
[INFO] [stdout] 121 | |      }};
[INFO] [stdout]     | |      ^
[INFO] [stdout]     | |      |
[INFO] [stdout]     | |______this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/socket_services/socket_client/socket_client.rs:831:9
[INFO] [stdout]     |
[INFO] [stdout] 831 | //         start_server_processor!(TEST_CONFIG, Textual, Atomic, server, TestString, TestString,
[INFO] [stdout] 832 | ||             |_| future::ready(()),
[INFO] [stdout] 833 | ||             move |_, _, peer, client_messages| client_messages
[INFO] [stdout] 834 | ||                 .map(|msg| {
[INFO] [stdout] ...   ||
[INFO] [stdout] 840 | ||         )?;
[INFO] [stdout]     | ||         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |            in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_server_processor` which comes from the expansion of the macro `start_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:157:202
[INFO] [stdout]     |
[INFO] [stdout] 157 |            $socket_client.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $protocol_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                             ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                             |
[INFO] [stdout]     |                                                                                                                                                                                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                                                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 861 |            let handshake_processor = spawn_client_processor!(TEST_CONFIG, Textual, Atomic, client, TestString, TestString,
[INFO] [stdout]     |   ___________________________________-
[INFO] [stdout]     |  |___________________________________|
[INFO] [stdout] 862 | ||             |connection_event| async {
[INFO] [stdout] 863 | ||                 if let ProtocolEvent::PeerArrived { peer  } = connection_event {
[INFO] [stdout] 864 | ||                     peer.send_async(TestString::from("Client is at `Handshake`")).await
[INFO] [stdout] ...   ||
[INFO] [stdout] 880 | ||         )?;
[INFO] [stdout]     | ||         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |            in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `spawn_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:157:202
[INFO] [stdout]     |
[INFO] [stdout] 157 |            $socket_client.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $protocol_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                             ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                             |
[INFO] [stdout]     |                                                                                                                                                                                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                                                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 885 |            let welcome_authenticated_friend_processor = spawn_client_processor!(TEST_CONFIG, Textual, Atomic, client, TestString, TestString,
[INFO] [stdout]     |   ______________________________________________________-
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 886 | ||             |connection_event| async {
[INFO] [stdout] 887 | ||                 if let ProtocolEvent::PeerArrived { peer  } = connection_event {
[INFO] [stdout] 888 | ||                     peer.send_async(TestString::from("Client is at `WelcomeAuthenticatedFriend`")).await
[INFO] [stdout] ...   ||
[INFO] [stdout] 904 | ||         )?;
[INFO] [stdout]     | ||         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |            in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `spawn_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:157:202
[INFO] [stdout]     |
[INFO] [stdout] 157 |            $socket_client.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $protocol_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                             ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                             |
[INFO] [stdout]     |                                                                                                                                                                                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                                                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 908 |            let account_settings_processor = spawn_client_processor!(TEST_CONFIG, Textual, Atomic, client, TestString, TestString,
[INFO] [stdout]     |   __________________________________________-
[INFO] [stdout]     |  |__________________________________________|
[INFO] [stdout] 909 | ||             |connection_event| async {
[INFO] [stdout] 910 | ||                 if let ProtocolEvent::PeerArrived { peer  } = connection_event {
[INFO] [stdout] 911 | ||                     peer.send_async(TestString::from("Client is at `AccountSettings`")).await
[INFO] [stdout] ...   ||
[INFO] [stdout] 927 | ||         )?;
[INFO] [stdout]     | ||         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |            in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `spawn_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:157:202
[INFO] [stdout]     |
[INFO] [stdout] 157 |            $socket_client.spawn_processor::<$remote_messages, $local_messages, ProcessorUniType, SenderChannel, _, _, _, _, _, _>(socket_dialog, $protocol_events_handler_fn, $dialog_processor_builder_fn).await
[INFO] [stdout]     |                                                                                                                                                                                                             ^^^^^
[INFO] [stdout]     |                                                                                                                                                                                                             |
[INFO] [stdout]     |                                                                                                                                                                                                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                                                                                                                                                                             up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 931 |            let goodbye_options_processor = spawn_client_processor!(TEST_CONFIG, Textual, Atomic, client, TestString, TestString,
[INFO] [stdout]     |   _________________________________________-
[INFO] [stdout]     |  |_________________________________________|
[INFO] [stdout] 932 | ||             |connection_event| async {
[INFO] [stdout] 933 | ||                 if let ProtocolEvent::PeerArrived { peer  } = connection_event {
[INFO] [stdout] 934 | ||                     peer.send_async(TestString::from("Client is at `GoodbyeOptions`")).await
[INFO] [stdout] ...   ||
[INFO] [stdout] 950 | ||         )?;
[INFO] [stdout]     | ||         --- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |  |_________|`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |            in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `spawn_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024
[INFO] [stdout]    --> src/socket_connection/connection_provider.rs:180:55
[INFO] [stdout]     |
[INFO] [stdout] 180 |                    let (connection, client_address) = if let Some(accepted_connection_and_addr) = tokio::select! {
[INFO] [stdout]     |   _______________________________________________________^                                        -
[INFO] [stdout]     |  |________________________________________________________________________________________________|
[INFO] [stdout] 181 | ||                     // incoming connection
[INFO] [stdout] 182 | ||                     acceptance_result = listener.accept() => {
[INFO] [stdout] 183 | ||                         if let Err(err) = acceptance_result {
[INFO] [stdout] ...   ||
[INFO] [stdout] 198 | ||                 } {
[INFO] [stdout]     | ||_________________^ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion
[INFO] [stdout]     |  |_________________|
[INFO] [stdout]     |
[INFO] [stdout]     |
[INFO] [stdout] note: value invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/io/poll_evented.rs:290:1
[INFO] [stdout]     |
[INFO] [stdout] 290 | impl<E: Source> Drop for PollEvented<E> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: the value is now dropped here in Edition 2024
[INFO] [stdout]    --> src/socket_connection/connection_provider.rs:200:17
[INFO] [stdout]     |
[INFO] [stdout] 200 |                 } else {
[INFO] [stdout]     |                 ^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-if-let-scope.html>
[INFO] [stdout]     = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl (Fn(types::ProtocolEvent<CONFIG, LocalMessages, SenderChannel, StateType>) -> Pin<Box<(dyn futures::Future<Output = ()> + std::marker::Send + 'static)>>) + std::marker::Send + Sync + 'static` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/socket_services/socket_client/common.rs:29:47
[INFO] [stdout]    |
[INFO] [stdout] 29 | ... -> impl Fn(ProtocolEvent<CONFIG, LocalMessages, SenderChannel, StateType>) -> BoxFuture<'static, ()> + Send + Sync + 'static {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/socket_services/socket_client/common.rs:25:87
[INFO] [stdout]    |
[INFO] [stdout] 25 | ...                   (connected_state:                          &Arc<AtomicBool>,
[INFO] [stdout]    |                                                                  ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/socket_services/socket_client/common.rs:27:87
[INFO] [stdout]    |
[INFO] [stdout] 27 | ...k: impl Fn(ProtocolEvent<CONFIG, LocalMessages, SenderChannel, StateType>) -> ConnectionEventsCallbackFuture + Send + Sync + 'static)
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 23 ~                                             StateType:                                                                                                    Send + Sync + Clone     + Debug + 'static, T: Fn(ProtocolEvent<CONFIG, LocalMessages, SenderChannel, StateType>) -> ConnectionEventsCallbackFuture + Send + Sync + 'static>
[INFO] [stdout] 24 |
[INFO] [stdout] 25 |                                            (connected_state:                          &Arc<AtomicBool>,
[INFO] [stdout] 26 |                                             termination_is_complete_signaler:         tokio::sync::mpsc::Sender<()>,
[INFO] [stdout] 27 ~                                             user_provided_connection_events_callback: T)
[INFO] [stdout] 28 |
[INFO] [stdout] 29 ~                                            -> impl Fn(ProtocolEvent<CONFIG, LocalMessages, SenderChannel, StateType>) -> BoxFuture<'static, ()> + Send + Sync + 'static + use<CONFIG, LocalMessages, SenderChannel, ConnectionEventsCallbackFuture, StateType, T> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/composite_protocol_stacking_client/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/hello_world.rs:78:40
[INFO] [stdout]     |
[INFO] [stdout]  78 |     ...   let server_processor_handler = spawn_server_processor!(CONFIG, VariableBinary, FullSync, server, ClientMessages, ServerMe...
[INFO] [stdout]     |    ______________________________________^
[INFO] [stdout]     |  _|______________________________________|
[INFO] [stdout]  79 | | | ...       |_| future::ready(()),
[INFO] [stdout]  80 | | | ...       |_, _, peer, client_stream| client_stream
[INFO] [stdout]  81 | | | ...           .inspect(|client_message| println!(">>> {:?}", client_message.deref().deref()))
[INFO] [stdout] ...   | |
[INFO] [stdout]  86 | | | ...           .to_responsive_stream(peer, |_, _| ())
[INFO] [stdout]  87 | | | ...   )?;
[INFO] [stdout]     | | |       ^-- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | | |       ||
[INFO] [stdout]     | | |_______|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         |`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `spawn_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/hello_world.rs:94:9
[INFO] [stdout]     |
[INFO] [stdout]  94 | /         start_client_processor!(CONFIG, VariableBinary, FullSync, client, ServerMessages, ClientMessages,
[INFO] [stdout]  95 | |             |connection_event| async {
[INFO] [stdout]  96 | |                 if let ProtocolEvent::PeerArrived { peer } = connection_event {
[INFO] [stdout] ...   |
[INFO] [stdout] 106 | |             })
[INFO] [stdout] 107 | |         ).map_err(|err| format!("{err}. Did you start a local server (on another window) with `nc -vvvv -l -p 1234`?"))?;
[INFO] [stdout]     | |         ^                                                                                                               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_client_processor` which comes from the expansion of the macro `start_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/integration_tests.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/composite_protocol_stacking_client/main.rs:57:34
[INFO] [stdout]     |
[INFO] [stdout]  57 |     ...   let pre_game_processor = spawn_client_processor!(NETWORK_CONFIG, Textual, Atomic, socket_client, PreGameServerMessages, P...
[INFO] [stdout]     |    ________________________________^
[INFO] [stdout]     |  _|________________________________|
[INFO] [stdout]  58 | | | ...       move |connection_event| {
[INFO] [stdout]  59 | | | ...           client_processor_ref1.pre_game_connection_events_handler(connection_event);
[INFO] [stdout]  60 | | | ...           future::ready(())
[INFO] [stdout] ...   | |
[INFO] [stdout]  77 | | | ...   )?;
[INFO] [stdout]     | | |       ^-- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | | |       ||
[INFO] [stdout]     | | |_______|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         |`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `spawn_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/composite_protocol_stacking_client/main.rs:79:30
[INFO] [stdout]     |
[INFO] [stdout]  79 |     ...   let game_processor = spawn_client_processor!(NETWORK_CONFIG, MmapBinary, Atomic, socket_client, GameServerMessages, GameC...
[INFO] [stdout]     |    ____________________________^
[INFO] [stdout]     |  _|____________________________|
[INFO] [stdout]  80 | | | ...       move |connection_event| {
[INFO] [stdout]  81 | | | ...           let client_processor = client_processor_ref3.clone();
[INFO] [stdout]  82 | | | ...           async move {
[INFO] [stdout] ...   | |
[INFO] [stdout] 101 | | | ...   )?;
[INFO] [stdout]     | | |       ^-- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | | |       ||
[INFO] [stdout]     | | |_______|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |         |`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `spawn_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> examples/composite_protocol_stacking_client/main.rs:115:46
[INFO] [stdout]      |
[INFO] [stdout]  114 |     for mut socket_client in socket_clients.into_iter() {
[INFO] [stdout]      |         -----------------    --------------------------
[INFO] [stdout]      |         |                    |
[INFO] [stdout]      |         |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |         `socket_client` calls a custom destructor
[INFO] [stdout]      |         `socket_client` will be dropped later as of Edition 2024
[INFO] [stdout]  115 |         socket_client.termination_waiter()().await.expect("FAILED TO SHUTDOWN THE CLIENT")
[INFO] [stdout]      |         -------------------------------------^^^^^
[INFO] [stdout]      |         |                                    |
[INFO] [stdout]      |         |                                    this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |         |                                    up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |         |                                    this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |         |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |         `__awaitee` calls a custom destructor
[INFO] [stdout]      |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  116 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]      |
[INFO] [stdout]  485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]      |
[INFO] [stdout]  485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `socket_client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `socket_client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]      |
[INFO] [stdout]  485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `socket_client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `socket_client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]      |
[INFO] [stdout]  485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `socket_client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/broadcast.rs:1067:1
[INFO] [stdout]      |
[INFO] [stdout] 1067 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Stream<Item = bool>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> examples/composite_protocol_stacking_client/client_protocol_processor.rs:73:40
[INFO] [stdout]    |
[INFO] [stdout] 73 | ...                   -> impl Stream<Item=bool> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> examples/composite_protocol_stacking_client/client_protocol_processor.rs:67:62
[INFO] [stdout]    |
[INFO] [stdout] 67 | ...                   (self:                   &Arc<Self>,
[INFO] [stdout]    |                                                ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> examples/composite_protocol_stacking_client/client_protocol_processor.rs:71:62
[INFO] [stdout]    |
[INFO] [stdout] 71 | ...                   server_messages_stream: impl Stream<Item=StreamItemType>)
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 65 ~                                      StreamItemType:       AsRef<PreGameServerMessages> + Debug, T: Stream<Item = StreamItemType>>
[INFO] [stdout] 66 |
[INFO] [stdout] ...
[INFO] [stdout] 70 |                                      peer:                   Arc<Peer<NETWORK_CONFIG, PreGameClientMessages, SenderChannel, ProtocolStates>>,
[INFO] [stdout] 71 ~                                      server_messages_stream: T)
[INFO] [stdout] 72 |
[INFO] [stdout] 73 ~                                     -> impl Stream<Item=bool> + use<NETWORK_CONFIG, SenderChannel, StreamItemType, T> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Stream<Item = bool>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> examples/composite_protocol_stacking_client/client_protocol_processor.rs:143:36
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...                   -> impl Stream<Item=bool> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> examples/composite_protocol_stacking_client/client_protocol_processor.rs:137:58
[INFO] [stdout]     |
[INFO] [stdout] 137 | ...                   (self:                   &Arc<Self>,
[INFO] [stdout]     |                                                ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> examples/composite_protocol_stacking_client/client_protocol_processor.rs:141:58
[INFO] [stdout]     |
[INFO] [stdout] 141 | ...                   server_messages_stream: impl Stream<Item=StreamItemType>)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 135 ~                                  StreamItemType:       AsRef<GameServerMessages> + Debug, T: Stream<Item = StreamItemType>>
[INFO] [stdout] 136 |
[INFO] [stdout] ...
[INFO] [stdout] 140 |                                  peer:                   Arc<Peer<NETWORK_CONFIG, GameClientMessages, SenderChannel, ProtocolStates>>,
[INFO] [stdout] 141 ~                                  server_messages_stream: T)
[INFO] [stdout] 142 |
[INFO] [stdout] 143 ~                                 -> impl Stream<Item=bool> + use<NETWORK_CONFIG, SenderChannel, StreamItemType, T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating benches/streamable_channels.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/functional_requirements/client.rs:104:26
[INFO] [stdout]     |
[INFO] [stdout] 104 |                 let handle = spawn_client_processor!(CONFIG, Textual, Atomic, client, TestString, TestString,
[INFO] [stdout]     |    __________________________^
[INFO] [stdout]     |  _|__________________________|
[INFO] [stdout] 105 | | |                 move |event| future::ready(match event {
[INFO] [stdout] 106 | | |                     ProtocolEvent::PeerArrived { peer } => {
[INFO] [stdout] 107 | | |                         client_protocol_datum_ref1.arrived.fetch_add(protocol_id+1, Relaxed);
[INFO] [stdout] ...   | |
[INFO] [stdout] 132 | | |             )?;
[INFO] [stdout]     | | |             ^-- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | | |             ||
[INFO] [stdout]     | | |_____________|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |               |`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_______________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                 up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `spawn_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/functional_requirements/client.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 | /   /     start_server_processor!(CONFIG, Textual, Atomic, server, TestString, TestString,
[INFO] [stdout] 258 | |   |         |_| future::ready(()),
[INFO] [stdout] 259 | |   |         move |_, _, peer, client_messages_stream| {
[INFO] [stdout] 260 | |   |             client_messages_stream
[INFO] [stdout] ...   |   |
[INFO] [stdout] 272 | |   |     )?;
[INFO] [stdout]     | |   |     ^-- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |   |     ||
[INFO] [stdout]     | |___|_____|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |     |     |`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |     |     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |     |     up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |     |     `__awaitee` calls a custom destructor
[INFO] [stdout]     |     |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |     |_____this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_server_processor` which comes from the expansion of the macro `start_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tests/functional_requirements/client.rs:223:5
[INFO] [stdout]     |
[INFO] [stdout] 223 | /     start_client_processor!(CONFIG, Textual, PlainTextSerializer, PlainTextDeserializer, Atomic, client, TestString, TestString,
[INFO] [stdout] 224 | |         move |event| {
[INFO] [stdout] 225 | |             if let ProtocolEvent::PeerArrived { peer } = &event {
[INFO] [stdout] 226 | |                 let result = peer.send(TestString(String::from("GET / HTTP/1.0\n\n")));
[INFO] [stdout] ...   |
[INFO] [stdout] 237 | |     ).expect("Cannot start client processor");
[INFO] [stdout]     | |     ^                                        - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | |     |
[INFO] [stdout]     | |     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |     `__awaitee` calls a custom destructor
[INFO] [stdout]     | |     `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_____this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |       `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_client_processor` which comes from the expansion of the macro `start_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/composite_protocol_stacking_server/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> benches/streamable_channels.rs:355:21
[INFO] [stdout]     |
[INFO] [stdout] 355 | /                     start_server_processor!(CONFIG, Textual, Atomic, server, ClientMessages, ServerMessages,
[INFO] [stdout] 356 | |             |_| future::ready(()),
[INFO] [stdout] 357 | |             |_, _, peer, client_stream| client_stream
[INFO] [stdout] ...   |
[INFO] [stdout] 362 | |                 .to_responsive_stream(peer, |_, _| ())
[INFO] [stdout] 363 | |         )
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 364 |                           .expect("Couldn't start the server");
[INFO] [stdout]     |                                                               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_server_processor` which comes from the expansion of the macro `start_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> benches/streamable_channels.rs:373:21
[INFO] [stdout]     |
[INFO] [stdout] 373 | /                     start_client_processor!(CONFIG, Textual, Atomic, client, ServerMessages, ClientMessages,
[INFO] [stdout] 374 | |             // the connection events callback
[INFO] [stdout] 375 | |             move |event| {
[INFO] [stdout] 376 | |                 let start = start_clone.clone();
[INFO] [stdout] ...   |
[INFO] [stdout] 403 | |          )
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |          `__awaitee` calls a custom destructor
[INFO] [stdout]     | |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 404 |                           .expect("Couldn't start the client");
[INFO] [stdout]     |                                                               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_client_processor` which comes from the expansion of the macro `start_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> benches/streamable_channels.rs:443:21
[INFO] [stdout]     |
[INFO] [stdout] 443 | /                     start_server_processor!(CONFIG, MmapBinary, Atomic, server, ClientMessages, ServerMessages,
[INFO] [stdout] 444 | |             |_| future::ready(()),
[INFO] [stdout] 445 | |             |_, _, peer, client_stream| client_stream
[INFO] [stdout] ...   |
[INFO] [stdout] 450 | |                 .to_responsive_stream(peer, |_, _| ())
[INFO] [stdout] 451 | |         )
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 452 |                           .expect("Couldn't start the server");
[INFO] [stdout]     |                                                               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_server_processor` which comes from the expansion of the macro `start_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> benches/streamable_channels.rs:461:21
[INFO] [stdout]     |
[INFO] [stdout] 461 | /                     start_client_processor!(CONFIG, MmapBinary, Atomic, client, ServerMessages, ClientMessages,
[INFO] [stdout] 462 | |             // the connection events callback
[INFO] [stdout] 463 | |             move |event| {
[INFO] [stdout] 464 | |                 let start = start_clone.clone();
[INFO] [stdout] ...   |
[INFO] [stdout] 491 | |          )
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |          `__awaitee` calls a custom destructor
[INFO] [stdout]     | |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 492 |                           .expect("Couldn't start the client");
[INFO] [stdout]     |                                                               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_client_processor` which comes from the expansion of the macro `start_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> benches/streamable_channels.rs:531:21
[INFO] [stdout]     |
[INFO] [stdout] 531 | /                     start_server_processor!(CONFIG, VariableBinary, Atomic, server, ClientMessages, ServerMessages,
[INFO] [stdout] 532 | |             |_| future::ready(()),
[INFO] [stdout] 533 | |             |_, _, peer, client_stream| client_stream
[INFO] [stdout] ...   |
[INFO] [stdout] 538 | |                 .to_responsive_stream(peer, |_, _| ())
[INFO] [stdout] 539 | |         )
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 540 |                           .expect("Couldn't start the server");
[INFO] [stdout]     |                                                               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_server_processor` which comes from the expansion of the macro `start_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> benches/streamable_channels.rs:549:21
[INFO] [stdout]     |
[INFO] [stdout] 549 | /                     start_client_processor!(CONFIG, VariableBinary, Atomic, client, ServerMessages, ClientMessages,
[INFO] [stdout] 550 | |             // the connection events callback
[INFO] [stdout] 551 | |             move |event| {
[INFO] [stdout] 552 | |                 let start = start_clone.clone();
[INFO] [stdout] ...   |
[INFO] [stdout] 579 | |          )
[INFO] [stdout]     | |          ^
[INFO] [stdout]     | |          |
[INFO] [stdout]     | |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |          `__awaitee` calls a custom destructor
[INFO] [stdout]     | |          `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |__________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 580 |                           .expect("Couldn't start the client");
[INFO] [stdout]     |                                                               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `$crate::spawn_client_processor` which comes from the expansion of the macro `start_client_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/spikes/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/composite_protocol_stacking_server/main.rs:37:30
[INFO] [stdout]     |
[INFO] [stdout]  37 |         let pre_game_processor = spawn_server_processor!(NETWORK_CONFIG, Textual, Atomic, socket_server, PreGameClientMessages, Pre...
[INFO] [stdout]     |    ______________________________^
[INFO] [stdout]     |  _|______________________________|
[INFO] [stdout]  38 | | |         move |connection_event| {
[INFO] [stdout]  39 | | |             server_processor_ref1.pre_game_connection_events_handler(connection_event);
[INFO] [stdout]  40 | | |             future::ready(())
[INFO] [stdout]  41 | | |         },
[INFO] [stdout]  42 | | |         move |client_addr, port, peer, client_messages_stream| server_processor_ref2.pre_game_dialog_processor(client_addr, por...
[INFO] [stdout]  43 | | |     )?;
[INFO] [stdout]     | | |     ^-- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | | |     ||
[INFO] [stdout]     | | |_____|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |       |`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_______this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `spawn_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> examples/composite_protocol_stacking_server/main.rs:45:26
[INFO] [stdout]     |
[INFO] [stdout]  45 |         let game_processor = spawn_server_processor!(NETWORK_CONFIG, MmapBinary, Atomic, socket_server, GameClientMessages, GameSer...
[INFO] [stdout]     |    __________________________^
[INFO] [stdout]     |  _|__________________________|
[INFO] [stdout]  46 | | |         move |connection_event| {
[INFO] [stdout]  47 | | |             let server_processor = server_processor_ref3.clone();
[INFO] [stdout]  48 | | |             async move {
[INFO] [stdout] ...   | |
[INFO] [stdout]  52 | | |         move |client_addr, port, peer, client_messages_stream| server_processor_ref4.game_dialog_processor(client_addr, port, p...
[INFO] [stdout]  53 | | |     )?;
[INFO] [stdout]     | | |     ^-- now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     | | |     ||
[INFO] [stdout]     | | |_____|this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |       |`#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_______this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:485:1
[INFO] [stdout]     |
[INFO] [stdout] 485 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `spawn_server_processor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Stream<Item = bool>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> examples/composite_protocol_stacking_server/server_protocol_processor.rs:78:40
[INFO] [stdout]    |
[INFO] [stdout] 78 | ...                   -> impl Stream<Item=bool> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> examples/composite_protocol_stacking_server/server_protocol_processor.rs:72:38
[INFO] [stdout]    |
[INFO] [stdout] 72 | ...                   (&self,
[INFO] [stdout]    |                        ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> examples/composite_protocol_stacking_server/server_protocol_processor.rs:76:62
[INFO] [stdout]    |
[INFO] [stdout] 76 | ...                   client_messages_stream: impl Stream<Item=StreamItemType>)
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 70 ~                                      StreamItemType:       AsRef<PreGameClientMessages> + Debug, T: Stream<Item = StreamItemType>>
[INFO] [stdout] 71 |                             
[INFO] [stdout] ...
[INFO] [stdout] 75 |                                      peer:                   Arc<Peer<NETWORK_CONFIG, PreGameServerMessages, SenderChannel, ProtocolStates>>,
[INFO] [stdout] 76 ~                                      client_messages_stream: T)
[INFO] [stdout] 77 |
[INFO] [stdout] 78 ~                                     -> impl Stream<Item=bool> + use<NETWORK_CONFIG, SenderChannel, StreamItemType, T> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Stream<Item = bool>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> examples/composite_protocol_stacking_server/server_protocol_processor.rs:160:36
[INFO] [stdout]     |
[INFO] [stdout] 160 | ...                   -> impl Stream<Item=bool> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> examples/composite_protocol_stacking_server/server_protocol_processor.rs:154:34
[INFO] [stdout]     |
[INFO] [stdout] 154 | ...                   (&self,
[INFO] [stdout]     |                        ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> examples/composite_protocol_stacking_server/server_protocol_processor.rs:158:58
[INFO] [stdout]     |
[INFO] [stdout] 158 | ...                   client_messages_stream: impl Stream<Item=StreamItemType>)
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 152 ~                                  StreamItemType:       AsRef<GameClientMessages> + Debug, T: Stream<Item = StreamItemType>>
[INFO] [stdout] 153 |
[INFO] [stdout] ...
[INFO] [stdout] 157 |                                  peer:                   Arc<Peer<NETWORK_CONFIG, GameServerMessages, SenderChannel, ProtocolStates>>,
[INFO] [stdout] 158 ~                                  client_messages_stream: T)
[INFO] [stdout] 159 |
[INFO] [stdout] 160 ~                                 -> impl Stream<Item=bool> + use<NETWORK_CONFIG, SenderChannel, StreamItemType, T> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.18s
[INFO] [stderr] crater-edition-check: reactive-messaging v0.4.1 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking reactive-messaging v0.4.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: associated items `as_repr` and `from_repr` are never used
[INFO] [stdout]   --> src/config.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl MessageForms {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 37 |     /// requires 2+5=7 bits to represent the data; reverse of [Self::from_repr()]
[INFO] [stdout] 38 |     const fn as_repr(&self) -> u8 {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     const fn from_repr(repr: u8) -> Self {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_connect_continuation_closure` is never used
[INFO] [stdout]   --> src/socket_connection/connection_provider.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl<const CONFIG_U64: u64> ClientConnectionManager<CONFIG_U64> {
[INFO] [stdout]    | --------------------------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn into_connect_continuation_closure(self) -> Arc < Mutex < Box<dyn FnMut() -> ConnectionFuture + Send> > > {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `config` is never used
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:368:14
[INFO] [stdout]     |
[INFO] [stdout] 340 | / impl<const CONFIG: u64,
[INFO] [stdout] 341 | |      StateType:    Send + Sync + Clone + Debug + 'static>
[INFO] [stdout] 342 | | CompositeSocketClient<CONFIG, StateType> {
[INFO] [stdout]     | |________________________________________- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 368 |       const fn config() -> u64 {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `INSTRUMENTS` is never used
[INFO] [stdout]   --> examples/spikes/uni/uni.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub trait GenericUni<const INSTRUMENTS: usize,
[INFO] [stdout]    |           ---------- associated constant in this trait
[INFO] [stdout] 25 |                      const BUFFER_SIZE: usize> {
[INFO] [stdout] 26 |     const INSTRUMENTS: usize;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `BUFFER_SIZE` is never used
[INFO] [stdout]  --> examples/spikes/uni/channel.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait GenericChannel<const BUFFER_SIZE: usize> {
[INFO] [stdout]   |           -------------- associated constant in this trait
[INFO] [stdout] 9 |     const BUFFER_SIZE: usize;
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `CONFIG` is never used
[INFO] [stdout]    --> examples/spikes/socket_server.rs:102:11
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub trait GenericSocketServer<const PROCESSOR_UNI_INSTRUMENTS: usize,
[INFO] [stdout]     |           ------------------- associated constant in this trait
[INFO] [stdout] 101 |                               const PROCESSOR_BUFFER_SIZE: usize> {
[INFO] [stdout] 102 |     const CONFIG: usize;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> examples/composite_protocol_stacking_client/main.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |               move |client_addr, port, peer, server_messages_stream| {
[INFO] [stdout]    |               ------------------------------------------------------
[INFO] [stdout]    |               |                                                    |
[INFO] [stdout]    |               |                                                    return type of closure `futures::stream::Inspect<impl Stream<Item = bool>, {closure@examples/composite_protocol_stacking_client/main.rs:71:30: 71:51}>` contains a lifetime `'2`
[INFO] [stdout]    |               lifetime `'1` represents this closure's body
[INFO] [stdout] ...
[INFO] [stdout] 70 | /                 client_processor_ref2.pre_game_dialog_processor(client_addr.clone(), port, peer.clone(), server_messages_stream)
[INFO] [stdout] 71 | |                     .inspect(move |client_message| {
[INFO] [stdout] 72 | |                         if DEBUG {
[INFO] [stdout] 73 | |                             eprintln!(">>>> (PRE-GAME) {client_message:?}")
[INFO] [stdout] 74 | |                         }
[INFO] [stdout] 75 | |                     })
[INFO] [stdout]    | |______________________^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: closure implements `Fn`, so references to captured variables can't escape the closure
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> examples/composite_protocol_stacking_client/main.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |               move |client_addr, port, peer, server_messages_stream| {
[INFO] [stdout]    |               ------------------------------------------------------
[INFO] [stdout]    |               |                                                    |
[INFO] [stdout]    |               |                                                    return type of closure `futures::stream::Inspect<impl Stream<Item = bool>, {closure@examples/composite_protocol_stacking_client/main.rs:95:30: 95:51}>` contains a lifetime `'2`
[INFO] [stdout]    |               lifetime `'1` represents this closure's body
[INFO] [stdout] ...
[INFO] [stdout] 94 | /                 client_processor_ref4.game_dialog_processor(client_addr.clone(), port, peer.clone(), server_messages_stream)
[INFO] [stdout] 95 | |                     .inspect(move |client_message| {
[INFO] [stdout] 96 | |                         if DEBUG {
[INFO] [stdout] 97 | |                             println!(">>>> (GAME) {client_message:?}")
[INFO] [stdout] 98 | |                         }
[INFO] [stdout] 99 | |                     })
[INFO] [stdout]    | |______________________^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]    |
[INFO] [stdout]    = note: closure implements `Fn`, so references to captured variables can't escape the closure
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> examples/composite_protocol_stacking_server/main.rs:42:64
[INFO] [stdout]    |
[INFO] [stdout] 42 | ...   move |client_addr, port, peer, client_messages_stream| server_processor_ref2.pre_game_dialog_processor(client_addr, port, peer, client_messages_stream)
[INFO] [stdout]    |       ------------------------------------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]    |       |                                                    |
[INFO] [stdout]    |       |                                                    return type of closure `impl Stream<Item = bool>` contains a lifetime `'2`
[INFO] [stdout]    |       lifetime `'1` represents this closure's body
[INFO] [stdout]    |
[INFO] [stdout]    = note: closure implements `Fn`, so references to captured variables can't escape the closure
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]   --> examples/composite_protocol_stacking_server/main.rs:52:64
[INFO] [stdout]    |
[INFO] [stdout] 52 | ...   move |client_addr, port, peer, client_messages_stream| server_processor_ref4.game_dialog_processor(client_addr, port, peer, client_messages_stream)
[INFO] [stdout]    |       ------------------------------------------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'2`
[INFO] [stdout]    |       |                                                    |
[INFO] [stdout]    |       |                                                    return type of closure `impl Stream<Item = bool>` contains a lifetime `'2`
[INFO] [stdout]    |       lifetime `'1` represents this closure's body
[INFO] [stdout]    |
[INFO] [stdout]    = note: closure implements `Fn`, so references to captured variables can't escape the closure
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `reactive-messaging` (example "composite_protocol_stacking_client") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `reactive-messaging` (example "composite_protocol_stacking_server") due to 2 previous errors
[INFO] [stdout] warning: associated items `as_repr` and `from_repr` are never used
[INFO] [stdout]   --> src/config.rs:38:14
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl MessageForms {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 37 |     /// requires 2+5=7 bits to represent the data; reverse of [Self::from_repr()]
[INFO] [stdout] 38 |     const fn as_repr(&self) -> u8 {
[INFO] [stdout]    |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     const fn from_repr(repr: u8) -> Self {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `config` is never used
[INFO] [stdout]    --> src/socket_services/socket_client/socket_client.rs:368:14
[INFO] [stdout]     |
[INFO] [stdout] 340 | / impl<const CONFIG: u64,
[INFO] [stdout] 341 | |      StateType:    Send + Sync + Clone + Debug + 'static>
[INFO] [stdout] 342 | | CompositeSocketClient<CONFIG, StateType> {
[INFO] [stdout]     | |________________________________________- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 368 |       const fn config() -> u64 {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8c5bc463d8030b75b52c180d650c9ac9037a9a595a0b175502762055183fe65b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c5bc463d8030b75b52c180d650c9ac9037a9a595a0b175502762055183fe65b", kill_on_drop: false }`
[INFO] [stdout] 8c5bc463d8030b75b52c180d650c9ac9037a9a595a0b175502762055183fe65b
